package com.zdb.n1.service;

import com.zdb.n1.entity.HealthData;
import com.zdb.n1.entity.User;
import com.zdb.n1.payload.response.MessageResponse;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.Date;
import java.util.List;

public interface HealthDataService {
    HealthData saveHealthData(HealthData healthData);

    HealthData getHealthDataById(Long id);

    List<HealthData> getAllHealthDataForCurrentUser();
    
    Page<HealthData> getHealthDataForCurrentUser(Pageable pageable);
    
    List<HealthData> getHealthDataByDateRange(Date startDate, Date endDate);
    
    HealthData getLatestHealthData();
    
    MessageResponse deleteHealthData(Long id);
    
    // 获取健康状态评估
    String getBmiCategory(Double bmi);
    
    // 获取指定用户的所有健康数据
    List<HealthData> getHealthDataByUser(User user);
    
    // 更新健康数据
    HealthData updateHealthData(Long id, HealthData healthData);
} 